package com.ce.pms.occupation;

import java.util.List;

import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;

import com.ce.pms.DBUnitTool;
import com.ce.pms.exception.BusinessException;
import com.ce.pms.occupation.dao.IPerfectItemRequisitionDao;
import com.ce.pms.occupation.service.IPerfectItemRequisitionService;
import com.ce.pms.occupation.vo.PerfectItemRequisitionVO;
import com.ce.pms.occupation.vo.PerfectItemSearchVO;
import com.ce.util.BeanUtil;
/**
 * 功能描述: 整改项目Service功能测试类
 * <p>版权所有：中企动力
 * <p>未经本公司许可，不得以任何方式复制或使用本程序任何部分
 *
 * @author  胡煦
 * Create on:2008-12-30
 * Edit author:
 * Edit on:
 * 修改原因：

 */

public class PerfectItemRequisitionServiceT extends DBUnitTool {
	private static IPerfectItemRequisitionService perfectItemRequisitionService;
	private static IPerfectItemRequisitionDao perfectItemRequisitionDao;

	/**
	 * 方法描述: 分页查询所有整改项目登记
	 * @author 胡煦
	 * Create on:2008-12-29
	 * @param SearchVO
	 * @return 返回当前页的查询结果
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public void testQueryPerfectItemRequisitionVOByPage(){
		PerfectItemSearchVO searchVO = new PerfectItemSearchVO();
		List<PerfectItemRequisitionVO> VOlist = perfectItemRequisitionService.queryPerfectItemRequisitionVOByPage(searchVO).getResult();
		Assert.assertTrue(VOlist.size()>0);
	}
	/**
	 * 方法描述: 根据ID查询整改项目登记VO
	 * @author 胡煦
	 * Create on:2008-12-29
	 * @param id
	 * @return 返回当前页的查询结果
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	@Test
	public void testQueryPerfectItemRequisitionVOById() {
		Long id = 4l;
		PerfectItemRequisitionVO itemRequisitionVO = perfectItemRequisitionService.queryPerfectItemRequisitionVOById(id);
		BeanUtil.printfInfo(itemRequisitionVO, true);
		Assert.assertNotNull(itemRequisitionVO);
	}
	/**
	 * 方法描述: 增加整改项目登记方法
	 * @author 胡煦
	 * Create on:2008-12-30
	 * @param perfectItemRequisitionVO
	 * @return PerfectItemRequisitionVO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public void testAddPerfectItemRequisition(){
		PerfectItemRequisitionVO perfectItemRequisitionVO = new PerfectItemRequisitionVO();
		perfectItemRequisitionVO.setHouseNumber("测试二号");
		perfectItemRequisitionVO.setPerfectRequisitionDate(perfectItemRequisitionService.getDate());
		perfectItemRequisitionVO.setDescription("测试");
		perfectItemRequisitionVO.setDispatchYn("0");
		perfectItemRequisitionVO.setPerfectItemTypeConfigId(10006l);
		perfectItemRequisitionVO.setJoinMode("001");
		perfectItemRequisitionVO.setOwnerName("tester")	;
		perfectItemRequisitionVO.setInspectionRequisitionId(1l);
		try {
			perfectItemRequisitionVO = perfectItemRequisitionService.addPerfectItemRequisition(perfectItemRequisitionVO);
			BeanUtil.printfInfo(perfectItemRequisitionVO, true);
			Assert.assertNotNull(perfectItemRequisitionVO);
		} catch (BusinessException e) {
			e.printStackTrace();
			super.dealBusinessException(e, "occupation:occupation_perfectItemRequisition_add_exception");
		}
	}
	/**
	 * 方法描述: 修改整改项目登记方法
	 * @author 胡煦
	 * Create on:2008-12-30
	 * @param perfectItemRequisitionVO
	 * @return PerfectItemRequisitionVO
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */

	public void testEditPerfectItemRequisition(){
		PerfectItemRequisitionVO perfectItemRequisitionVO = new PerfectItemRequisitionVO();
		perfectItemRequisitionVO.setHouseNumber("测试二号");
		perfectItemRequisitionVO.setKeyword(3l);
		perfectItemRequisitionVO.setPerfectItemDispatchId(10000l);
		perfectItemRequisitionVO.setDescription("修改测试");
		perfectItemRequisitionVO.setPerfectItemTypeConfigId(10006l);
		perfectItemRequisitionVO.setDispatchYn("1");
		perfectItemRequisitionVO.setJoinMode("001");
		perfectItemRequisitionVO.setOwnerName("tester")	;
		perfectItemRequisitionVO.setInspectionRequisitionId(1l);
		try {
			perfectItemRequisitionVO = perfectItemRequisitionService.editPerfectItemRequisition(perfectItemRequisitionVO);
			BeanUtil.printfInfo(perfectItemRequisitionVO, true);
			Assert.assertNotNull(perfectItemRequisitionVO);
		} catch (BusinessException e) {
			e.printStackTrace();
			super.dealBusinessException(e, "occupation:occupation_perfectItemRequisition_edit_exception");
		}
	}
	/**
	 * 方法描述: 删除整改项目登记方法
	 * @author 胡煦
	 * Create on:2008-12-30
	 * @param perfectItemRequisitionId
	 * @return boolean
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	@Test
	public void testDeletePerfectItemRequisition(){
		Long perfectItemRequisitionId = 3l;
		try {
			boolean b = perfectItemRequisitionService.deletePerfectItemRequisition(perfectItemRequisitionId);
			Assert.assertTrue(b);
		} catch (BusinessException e) {
			e.printStackTrace();
			super.dealBusinessException(e, "occupation:occupation_perfectItemRequisition_delete_exception");
		}
	}
	/**
    *
    * 功能描述:   <br>
    *
    * Create author：胡煦  <br>
    * Create on:2008-12-17  <br>
    * Edit author：  <br>
    * Edit on:    <br>
    * Why:     <br>
    */
	@BeforeClass
	public static void initPerfectItemRequisition(){
		if (perfectItemRequisitionService == null) {
			perfectItemRequisitionService = (IPerfectItemRequisitionService)DBUnitTool.applicationContext.getBean("perfectItemRequisitionService");
		}
		if (perfectItemRequisitionDao == null) {
			perfectItemRequisitionDao = (IPerfectItemRequisitionDao)DBUnitTool.applicationContext.getBean("perfectItemRequisitionDao");
		}
	}
}
